package com.ly.mpayment.persist.entity.slow;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * wei_xin_order entity. @author MyEclipse Persistence Tools
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "slow_order")
public class SlowOrder implements java.io.Serializable, Cloneable {

    private String orderuuid;
    private String phoneNum;
    private String operators;
    private String province;
    private String city;
    private BigDecimal price;
    private BigDecimal discount;
    private BigDecimal payPrice;
    private Integer rechargeState;
    private Date importTime;
    private Date commitTime;
    private Date endTime;
    private String remark;
    private String wxOrder;
    private String wxShopId;
    private String openId;
    private String outTradeNo;
    private String tradeType;
    private String errCodeDes;
    private String bankType;
    private String totalFee;
    private String cashFee;
    private String timeEnd;
    private Integer payState;
    private String payType;


    /**
     * default constructor
     */
    public SlowOrder() {
    }

    /**
     * minimal constructor
     */
    public SlowOrder(String orderuuid) {
        this.orderuuid = orderuuid;
    }

    /**
     * full constructor
     */
    public SlowOrder(String orderuuid, String phoneNum, String operators, String province,
                     String city, BigDecimal price, BigDecimal discount, BigDecimal payPrice, Integer rechargeState, Date importTime,
                     Date commitTime, Date endTime) {
        this.orderuuid = orderuuid;
        this.phoneNum = phoneNum;
        this.operators = operators;
        this.province = province;
        this.city = city;
        this.price = price;
        this.discount = discount;
        this.payPrice = payPrice;
        this.rechargeState = rechargeState;
        this.importTime = importTime;
        this.commitTime = commitTime;
        this.endTime = endTime;
    }

    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid")
    @Column(name = "orderuuid", unique = true, nullable = false, length = 36)
    public String getOrderuuid() {
        return this.orderuuid;
    }

    public void setOrderuuid(String orderuuid) {
        this.orderuuid = orderuuid;
    }


    @Column(name = "phone_num", length = 36)

    public String getPhoneNum() {
        return this.phoneNum;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    @Column(name = "operators", length = 36)

    public String getOperators() {
        return this.operators;
    }

    public void setOperators(String operators) {
        this.operators = operators;
    }

    @Column(name = "province", length = 36)

    public String getProvince() {
        return this.province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    @Column(name = "city", length = 36)

    public String getCity() {
        return this.city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    @Column(name = "price")

    public BigDecimal getPrice() {
        return this.price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    @Column(name = "discount")

    public BigDecimal getDiscount() {
        return this.discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    @Column(name = "pay_price")

    public BigDecimal getPayPrice() {
        return this.payPrice;
    }

    public void setPayPrice(BigDecimal payPrice) {
        this.payPrice = payPrice;
    }

    @Column(name = "recharge_state")

    public Integer getRechargeState() {
        return this.rechargeState;
    }

    public void setRechargeState(Integer rechargeState) {
        this.rechargeState = rechargeState;
    }

    @Column(name = "import_time", length = 19)

    public Date getImportTime() {
        return this.importTime;
    }

    public void setImportTime(Date importTime) {
        this.importTime = importTime;
    }

    @Column(name = "commit_time", length = 19)

    public Date getCommitTime() {
        return this.commitTime;
    }

    public void setCommitTime(Date commitTime) {
        this.commitTime = commitTime;
    }

    @Column(name = "end_time", length = 19)

    public Date getEndTime() {
        return this.endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Column(name = "remark", length = 100)
    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }


    @Column(name = "wx_order")
    public String getWxOrder() {
        return wxOrder;
    }

    public void setWxOrder(String wxOrder) {
        this.wxOrder = wxOrder;
    }

    @Column(name = "wx_shop_id")
    public String getWxShopId() {
        return wxShopId;
    }

    public void setWxShopId(String wxShopId) {
        this.wxShopId = wxShopId;
    }


    @Column(name = "open_id")
    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    @Column(name = "out_trade_no")
    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    @Column(name = "trade_type")
    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }


    @Column(name = "err_code_des")
    public String getErrCodeDes() {
        return errCodeDes;
    }

    public void setErrCodeDes(String errCodeDes) {
        this.errCodeDes = errCodeDes;
    }

    @Column(name = "bank_type")
    public String getBankType() {
        return bankType;
    }

    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    @Column(name = "total_fee")
    public String getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(String totalFee) {
        this.totalFee = totalFee;
    }

    @Column(name = "cash_fee")
    public String getCashFee() {
        return cashFee;
    }

    public void setCashFee(String cashFee) {
        this.cashFee = cashFee;
    }

    @Column(name = "time_end")
    public String getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }


    @Column(name = "pay_state")
    public Integer getPayState() {
        return payState;
    }

    public void setPayState(Integer payState) {
        this.payState = payState;
    }

	@Column(name = "pay_type")
	public String getPayType() {
		return payType;
	}

	public void setPayType(String paytype) {
		this.payType = paytype;
	}
}
